home *** CD-ROM | disk | FTP | other *** search
- package symantec.itools.awt;
-
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.Rectangle;
- import java.awt.image.ImageObserver;
- import symantec.itools.lang.OS;
-
- public class TransparencyTrickUtils {
- public static void paintComponentsBehind(Component var0, Graphics var1) {
- Rectangle var2 = var0.bounds();
- Container var3 = var0.getParent();
- paintComponent(var0, var3, var2, var1);
- Component[] var4 = var3.getComponents();
-
- for(int var5 = 0; var5 < var4.length; ++var5) {
- Component var6 = var4[var5];
- if (var6 != var0) {
- paintComponent(var0, var6, var2, var1);
- }
- }
-
- }
-
- public static void paintComponent(Component var0, Component var1, Rectangle var2, Graphics var3) {
- if (!(var1 instanceof TransparencyTrick)) {
- Rectangle var4 = var1.bounds();
- if (var4.intersects(var2)) {
- Image var5 = var0.createImage(var4.width, var4.height);
- if (var5 != null) {
- Graphics var6 = var5.getGraphics();
- if (var6 != null) {
- var1.update(var6);
- var3.drawImage(var5, var4.x - var2.x, var4.y - var2.y, (ImageObserver)null);
- var6.dispose();
- }
-
- var5.flush();
- if (OS.isMacintosh()) {
- System.gc();
- System.runFinalization();
- }
- }
- }
-
- }
- }
- }
-